function getIntialPage(){
	$(document).ready(function(){
		var $tabs = $("#tabs").tabs();
		$tabs.tabs('select', 0);

		//This create all the buttons
		$( "button", ".admin-btn" ).button();

		$("#create-user-btn").click(function(){
			//this call a dwr function
			callDialog("CREATE-USER");
		});
	});
}

//Customize dialog
function callDialog(type){

	var userName = $("#user-name");
	var userEmail = $("#user-email");
	var userPass = $("#user-password");
	var userRole = ($("#role-options").val() == "0")? "User":"Admin";
	var tips = $(".validateTips");
	var allFields = $( [] ).add( userName ).add( userEmail ).add( userPass ).add( userRole );

	if (type == "CREATE-USER"){
		$("#create-new-user-form").show("slow");
		// will update the tips in the top of the form
		function updateTips( t ) {
			tips.text( t ).addClass( "ui-state-highlight" );
			setTimeout(function() {
				tips.removeClass( "ui-state-highlight", 1500 );
			}, 500 );
		}

		// will check the length
		function checkLength( o, n, min, max ) {
			if ( o.val().length > max || o.val().length < min ) {
				o.addClass( "ui-state-error" );
				updateTips( "Length of " + n + " must be between " +
						min + " and " + max + "." );
				return false;
			} else {
				return true;
			}
		}

		// This will verify the regex
		function checkRegexp( o, regexp, n ) {
			if ( !( regexp.test( o.val() ) ) ) {
				o.addClass( "ui-state-error" );
				updateTips( n );
				return false;
			} else {
				return true;
			}
		}

		$("#dialog-create-user").dialog({
			height:400,
			width: 400,
			modal: false,
			resizable: false,
			modal: true,
			buttons:{
				'Create an user':function(){
					var bValid = true;

					allFields.removeClass( "ui-state-error" );

					bValid = bValid && checkLength(userName , "name", 3, 25 );
					bValid = bValid && checkLength( userEmail , "email", 6, 80 );
					bValid = bValid && checkLength( userPass , "password", 5, 16 );

					//bValid = bValid && checkRegexp( userName, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter." );
					bValid = bValid && checkRegexp(userEmail, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. ui@jquery.com" );
					bValid = bValid && checkRegexp( userPass, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9" );

					if ( bValid ) {
						/* this is the grid
						$( "#users tbody" ).append( "<tr>" +
							"<td>" + name.val() + "</td>" +
							"<td>" + email.val() + "</td>" +
							"<td>" + password.val() + "</td>" +
						"</tr>" );*/
						createUser(userName.val(), userEmail.val(), userPass.val(), userRole);
						$( this ).dialog( "close" );
					}
				},
				'Cancel':function(){
					$(this).dialog("close");
				},
			},
			close:function(){
				allFields.val( "" ).removeClass( "ui-state-error" )
			}
		});
	}

}

//Create a new user
function createUser(userName, userEmail, userPass, userRole){
	UserManager.saveNewUser(userName, userEmail, userPass, userRole, function(data){
			alert(data);
	});

}